package com.permission.dao;

import com.permission.model.Menu;
import java.util.List;

public interface MenuDao {

    /**
     * 根据父菜单ID查询子菜单（用于递归查询菜单树）
     * @param parentId 父菜单ID（顶级菜单parentId为0或null）
     * @return 子菜单列表
     */
    List<Menu> selectChildrenByParentId(Long parentId);

    /**
     * 查询所有菜单（用于系统初始化或全量加载）
     * @return 所有菜单列表
     */
    List<Menu> selectAllMenus();

    /**
     * 根据角色ID查询该角色拥有的所有菜单（多对多关联查询）
     * @param roleId 角色ID
     * @return 角色拥有的菜单列表
     */
    List<Menu> selectMenusByRoleId(Long roleId);
}
